Aspects of embodiments of the present invention relate to the field of three-dimensional (3D) scanning. In this process, a camera collects data from different views of an ordinary object, then aligns and combines the collected data (e.g., separate images of different sides of the object) to create a 3D model of the shape and color (if available) of the object. The 3D model may include a representation of the shape of an object, such as vertices, edges, textures, and color. The term “mapping” is also sometimes used to reflect the process of capturing a space or, more generally, a scene in three-dimensions.
Generating 3D models in this way presents the particular challenge that substantially all of the sides of the object or portion of the scene need to be imaged in order to produce a complete model of the object. For example, it may be difficult or impossible to produce an accurate model of portions of a subject (e.g., an object or a scene) that are not captured during the 3D scanning process. In addition, failing to capture images of the object from some certain angles may result in holes, gaps, distortions, or other artifacts in the generated model (in some instances, the bottom surface of the object may be ignored if it is not relevant to the desired 3D model). While it may be possible to reconfigure the object and/or the camera to make it possible to view these hidden areas, it may be computationally difficult or infeasible to combine, automatically, the data collected in the first configuration with the data collected in the second configuration.
To cover sufficient color and geometric aspects of an object, the scanning process may capture hundreds of frames of the relevant portion of the scene. The amount of data that is produced and the processing time of the data can be very high, and identifying common features in the images across this large data set for determining the relationship of the images to one another can be computationally intensive.